package com.zzx.util;

import java.util.HashMap;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.Properties;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

public class PropertiesUtil extends PropertyPlaceholderConfigurer{
	
	private static Map<String, String> psMap = new HashMap<>();//将properties文件读取成map格式。
	
	/**
	 * 使用该方法需要在 mvc.xml 文件里面配置一个 properties文件的路径。
	   * 通过 xml配置文件读取 properties 文件，解析，存入Map集合。
	 * @author zzx
	 */
	@Override
	protected void processProperties(
			ConfigurableListableBeanFactory beanFactoryToProcess,
			Properties props) throws BeansException {
		super.processProperties(beanFactoryToProcess, props);
		for (Object key : props.keySet()) {
			String keyStr = key.toString();
			String value = props.getProperty(keyStr);
			psMap.put(keyStr, value);
		}
	}
	
	/**
	 * 根据key值获取配置文件内容。
	 * @param key
	 * @return
	 */
	public static String getString(String key) {
		try {
			return psMap.get(key);
		} catch (MissingResourceException e) {
			System.err.println("***错误***"+e);
			return null;
		}
	}

	/**
	 * 根据key获取值
	 * 
	 * @param key
	 * @return
	 */
	public static int getInt(String key) {
		return Integer.parseInt(psMap.get(key));
	}
	
	public static void main(String[] args) {
		System.err.println("**********开始****************");		
		System.out.println("*map"+psMap.toString());
		System.err.println(psMap.get("FTP_HOST_IP"));
		System.err.println("**********结束**************");
	}
}
